

function maxGroup(n) {
	let arr = new Array(n).fill(0).map((_, i) => i + 1);
	let res = {};
	let maxLen = -Infinity;
	for (let i = 0; i < arr.length; i++) {
		let num = '' + arr[i];
		let sum = 0;
		for (let j = 0; j < num.length; j++) {
			sum += parseInt(num[j]);
		}

		if (res[sum]) {
			res[sum].push(arr[i]);
			// maxLen = Math.max(res[sum].length, maxLen);
		} else {
			res[sum] = [arr[i]];

		}

		maxLen = Math.max(res[sum].length, maxLen);
	}
	// console.log(`maxLen ${maxLen}`)
	let maxCount = 0;

	Object.values(res).forEach((arr) => {
		const len = arr.length;
		if (arr.length === maxLen) {
			maxCount++;
		}
	});

	console.log(`${n} for count: ${maxCount}, arr: ${JSON.stringify(res)}`);

	return maxCount;
}

maxGroup(0); // 4
maxGroup(1); // 4
maxGroup(13); // 4
maxGroup(2); // 2
maxGroup(15); // 6
maxGroup(24); // 5